package com.think.admin.cons;

import com.think.common.cons.SysCons;

/**
 * <p>
 * 管理端系统常量
 * </p>
 *
 * @author: xwj
 * @data: 2019-04-07
 */
public interface AdminCons {

    /**
     * 管理端标记
     */
    String ADMIN_CODE = SysCons.GLOBAL_CODE + "admin:";

    /**
     * redis
     */
    interface Redis {
        /**
         * redis标记
         */
        String REDIS_CODE = ADMIN_CODE + "redis:";

        /**
         * 验证码
         */
        String VERIFY_CODE = REDIS_CODE + "verify-code:";

        /**
         * 用户角色
         */
        String USER_ROLE = REDIS_CODE + "user-role:";

        /**
         * 角色权限
         */
        String ROLE_RESOURCE = REDIS_CODE + "role-resource:";

        /**
         * 地区
         */
        String AREA = REDIS_CODE + "area";

        /**
         * WX用户的token
         */
        String WXTONKEN = REDIS_CODE + "WxToken";
    }

    interface Oauth {
        /**
         * 登录地址
         */
        String LOGIN_URL = "/oauth/token";

        /**
         * 认证方式
         */
        String AUTH_TYPE = "auth_type";

        /**
         * 验证码验证类型
         */
        String VERIFICATION_CODE_AUTH_TYPE = "vc";
    }

    /**
     * 系统参数
     */
    interface Param{
        /**
         * 超级管理员ID
         */
        String SUPER_ADMIN_ID = "1";

        /**
         * token 值前缀
         */
        String TOKEN_PREFIX = "Bearer ";

        /**
         * 登录有效时间
         */
        int LOGIN_TIME_OUT = 3600;

        /**
         * 验证码有效时间
         */
        int IMAGE_CODE_TIME_OUT = 180;

        /**
         * token 一个小时有效时间
         */
        int TOKEN_TIME_OUT = 3600;

        /**
         * refresh_token 30天有效时间
         */
        int REFRESH_TOKEN_TIME_OUT = 2592000;

        /**
         * 默认的重置密码
         */
        String DEFAULT_PASSWORD = "123456";

        /**
         * 资源父级ID
         */
        String DEFAULT_RESOURCE_PARENT_ID = "0";
    }

    /**
     * 用户账号类型
     */
    interface SysUserParam{
        /**
         * 老板
         */
        Integer SUPER_ADMIN = 1;

        /**
         * 财务总监
         */
        Integer FINANCIAL = 2;

        /**
         * 销售经理
         */
        Integer SALESMANAGER = 3;

        /**
         * 渠道经理
         */
        Integer CHANNELMANAGER = 4;

        /**
         * 电销销售
         */
        Integer SALESCHANNEL = 5;

        /**
         * 销售总监
         */
        Integer DIRECTOROFSALES = 6;

        /**
         * 车管总监
         */
        Integer CHEGUANDIRECTOR = 7;

        /**
         * 门店销售
         */
        Integer STORESALES = 8;

        /**
         * 会计
         */
        Integer ACCOUNTING = 9;
    }

    /**
     * 用户账号类型
     */
    interface WXParam{
        /**
         * 状态码
         */
        String APPCODE_KEY = "appcode";

        /**
         * 状态信息
         */
        String APPMSG_KEY = "appmsg";

        /**
         * 业务状态码：成功
         */
        String SUCCESS = "1";

        /**
         * 业务状态码：失败
         */
        String ERROR = "-1";

        /**
         * 返回参数
         */
        String APPMSG_PARAMS = "params";
    }
}
